﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration.Provider;
using System.Data.Linq;
using IISLogAnalyzer.Model.Entities;

namespace IISLogAnalyzer.Data.Providers
{
    public abstract class DataProvider : ProviderBase
    {        
        // Gets the log data from given timeperiod
        public abstract List<W3CLogging> GetLogFromPeriod(DateTime startDate, DateTime endDate);

        // Gets the log data from given timeperiod
        public abstract List<W3CLogging> GetAllLogData();

        // insert list of data to database
        public abstract int InsertLogData(List<W3CLogging> logList);

        // insert one event to database
        public abstract int InsertLogData(W3CLogging logEvent);

        // delete one évent from db
        public abstract int DeleteLogData(W3CLogging logEvent);

        public abstract List<AnalyzeResult> GetDataByCip();

        public abstract List<AnalyzeResult> GetDataByUa();

        public abstract List<AnalyzeResult> GetDataByResource();

        public abstract void GetDataPeriod(ref DateTime startDate, ref DateTime endDate);
    }
}
